/**
* This file is part of OntoApplications (project linked with OntoCompoFramework)
*
* Copyright (C) 2011 -  Christian Brel
*
* @author   Main    Christian Brel
**/
package ontocompo.test;

import java.util.Observable;

import org.objectweb.fractal.fraclet.annotations.Component;
import org.objectweb.fractal.fraclet.annotations.Interface;
import org.objectweb.fractal.fraclet.annotations.Requires;

@Component(provides = {@Interface(name = "initcomponentitf", signature = ontocompo.api.InitComponentItf.class), @Interface(name = "ontocompointrospection", signature = ontocompo.api.OntoCompoIntrospection.class), @Interface(name = "observer", signature = java.util.Observer.class)})
public class TrimOutReverseInputAndAction implements ontocompo.api.InitComponentItf, ontocompo.api.OntoCompoIntrospection, java.util.Observer {

	private String uid;
	private org.objectweb.fractal.api.Component c;
	
	public TrimOutReverseInputAndAction() {
		this.uid = "ontocompo.test.TrimOutReverseInputAndAction";
		System.out.println(this.toString() + " created");
		//this.init();
	}
	
	@Requires(name = "trimstringobservable")
	private ontocompo.api.Observable trimstringobservable;
	
	@Requires(name = "trimservice")
	private applications.trimstring.fc.api.TrimStringService trimservice;
	
	@Requires(name = "strinput")
	private org.objectweb.fractal.swing.JTextFieldItf strinput;
	
	@Requires(name = "reversebutton")
	private org.objectweb.fractal.swing.JButtonItf reversebutton;
	

	@Override
	public void update(Observable arg0, Object arg1) {
		// TODO Auto-generated method stub
		this.strinput.setText(this.trimservice.trim());
		this.reversebutton.doClick();
	}

	@Override
	public org.objectweb.fractal.api.Component getFractalComponent() {
		// TODO Auto-generated method stub
		return this.c;
	}

	@Override
	public void setFractalComponent(org.objectweb.fractal.api.Component c) {
		// TODO Auto-generated method stub
		this.c = c;
	}

	@Override
	public void init() {
		// TODO Auto-generated method stub
		this.trimstringobservable.addObserver(this);
	}
	
	public String toString() {
		return "TrimOutReverseInputAndAction";
	}

	@Override
	public String getUid() {
		// TODO Auto-generated method stub
		return this.uid;
	}

	@Override
	public void setUid(String uid) {
		// TODO Auto-generated method stub
		this.uid = uid;
	}
	
}
